#ifndef _USB_VCOM_H
#define _USB_VCOM_H

#include <CoOS.h>			 			/*!< CooCox RTOS header file.		  */

#include "Driver\DrvUSB.h"

//	2. USB listen task:
//		Waiting for USB connect, then start shell task
#define				USB_LISTEN_PRI		10
extern OS_STK   	task_usb_listen_Stk[];	 	/*!< Stack of 'task_init' task.	  */

#define BULK_OUT_EP_NUM     2
#define	BULK_EP_MXPLD    	64  /* Maximum packet size of BULK endpoint */


//	1, Mutex for usb print
extern OS_MutexID		g_mut_usb_print;			//
//extern S_VCOM_DEVICE 	gsVcomDevice;


void task_usb_listen(void * pdata);
int usb_printf(const char * format, ...);
void UsbOnAttach(void * pdata);
void UsbOnDetach(void * pdata);
void VCOM_BulkOutAckCallback(void* pVoid);

char GetChar(void);



#endif // _USB_VCOM_H

